package com.jcli._java_swing_入门教程pdf.ch17;

import javax.swing.*;
import java.awt.*;

/**
 * @author li
 * @version 1.0
 * @belongsProject novel_20230923
 * @belongsPackage com.jcli._java_swing_入门教程pdf.ch17
 * @className GridLayoutDemo
 * @description TODO  网格布局管理器-计算器
 * @createTime 2024-01-15  11:58
 */
public class GridLayoutDemo {
    public static void main(String[] args) {
        JFrame frame = new JFrame("GridLayout布局计算器");
        JPanel panel = new JPanel(new GridLayout(4,4,5,5));
        // JLabel jl = new JLabel("ces测试");
        //使用循环读取num数据，忽略,，将按钮名称命名为num中的字符
        String num = "7,8,9,/,4,5,6,*,1,2,3,-,0,.,=,+";
        // 遍历字符序列
        for (int i = 0; i < num.length(); i++) {
            // 获取当前字符
            char c = num.charAt(i);
            // 如果当前字符是数字或小数点
            if (Character.isDigit(c) || c == '.') {
                // 创建按钮，并将按钮添加到面板
                panel.add(new JButton(Character.toString(c)));
            }
            // 如果当前字符不是逗号
            else if (c != ',') {
                // 创建按钮，并将按钮添加到面板
                panel.add(new JButton(Character.toString(c)));
            }
        }
        // panel.add(jl);
        frame.add(panel);
        // frame.setBounds(400,500,400,444);
        // frame.setSize(200,150);
        // 自适应布局大小
        frame.pack();
        // 将窗口居中显示
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
